﻿using FreeSql.DataAnnotations;
using Magicodes.IE.Demo.Enum;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Security.Principal;
using System.Threading.Tasks;


namespace Magicodes.IE.Demo.Modules
{
    public class Student
    {
        /// <summary>
        ///     序号
        /// </summary>
        [Description("学生编号")]
        [Column(IsPrimary = true)]
        public long SerialNumber { get; set; }

        /// <summary>
        ///     学籍号
        /// </summary>
        public string StudentCode { get; set; }

        /// <summary>
        ///     姓名
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        ///     身份证号码
        /// </summary>
        public string IdCard { get; set; }

        /// <summary>
        ///     性别
        /// </summary>
        public Genders Gender { get; set; }

        /// <summary>
        ///     家庭地址
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        ///     家长姓名
        /// </summary>
        public string Guardian { get; set; }

        /// <summary>
        ///     家长联系电话
        /// </summary>
        public string GuardianPhone { get; set; }

        /// <summary>
        ///     学号
        /// </summary>
        public string StudentNub { get; set; }

        /// <summary>
        ///     宿舍号
        /// </summary>
        public string DormitoryNo { get; set; }

        /// <summary>
        ///     QQ
        /// </summary>
        public string QQ { get; set; }

        /// <summary>
        ///     民族
        /// </summary>
        public string Nation { get; set; }

        /// <summary>
        ///     户口性质
        /// </summary>
        public string HouseholdType { get; set; }

        /// <summary>
        ///     联系电话
        /// </summary>
        public string Phone { get; set; }

        /// <summary>
        ///     状态
        ///     测试可为空的枚举类型
        /// </summary>
        public StudentStatus? Status { get; set; }

        /// <summary>
        ///     备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        ///     是否住校(宿舍)
        /// </summary>
        public bool? IsBoarding { get; set; }

        /// <summary>
        ///     所属班级id
        /// </summary>
        public Guid ClassId { get; set; }

        /// <summary>
        ///     学校Id
        /// </summary>
        public Guid? SchoolId { get; set; }

        /// <summary>
        ///     校区Id
        /// </summary>
        public Guid? CampusId { get; set; }

        /// <summary>
        ///     专业Id
        /// </summary>
        public Guid? MajorsId { get; set; }

        /// <summary>
        ///     年级Id
        /// </summary>
        public Guid? GradeId { get; set; }
    }
}
